-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux AppImage #774
base: master
Are you sure you want to change the base?
Linux AppImage #774
Conversation
In my view, the AppImage should be as standalone as possible to avoid future incompatibility and usage issues.
I would say that for building it the AppImage, it is fine to have an initial step: downloading the required tool for it. Also, we will do it in the CI mostly, and not manually building it. |
Yes, this is an important aspect for AppImages and I agree with it. To address the missing binaries:
Let me know if this is a workable path or we should try something else moving forward. |
Hi @wbqpk3,
I miss a point here. Isn't the whole goal of creating an AppImage is to run CodeCompass without building it? What is the benefit of having an AppImage, if it is "trying to locate shared objects on the packager's system"? Wouldn't that mean that the created AppImage is not transferrable between machines? |
I think there is a misunderstanding. I looked at the tarball creation script (https://github.com/Ericsson/CodeCompass/blob/master/.gitlab/build-deps.sh), and it builds every dependency (ODB, LLVM, Boost, Python, etc.) from source. My current implementation locates the required shared objects fine using CMake. A bit problematic ones which I listed above: |
|
||
Build AppImage: | ||
``` | ||
make appimage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Installing libfuse2
was also required on Ubuntu 22.04, as only v3 is preinstalled, which not compatible with AppImage.
@wbqpk3 That sounds okay, but did you try to copy the built AppImage to another computer (preferably with a minimal preinstalled software), and to run it there? E.g. Boost seems to missing from the image:
|
This patch adds AppImage packaging support.
See
doc/packaging.md
for documentation.AppImages can be run on any Linux distribution, however the following packages still needed:
libsqlite3-dev
orpostgresql-server-dev-14
)Java JRE
(default-jre
), this needs to match the same version as thejavac
used when packagingE.g. on
Ubuntu 22.04
default-jdk
isJava 11
, the same version ofJRE
is needed to be installed for the AppImage.ctags
g++
)Questions:
Java
orctags
into the AppImage?appimagetool
is needed for AppImage building. Currently, the documentation (doc/packaging.md
) suggests to download it from a GitHub release (https://github.com/AppImage/AppImageKit/releases/13). However, this is only a 2MB file. On one hand, it would make things easier if we include this binary file in the CodeCompass repository. On the other, it's not a good practice to store binary files in a VCS.